<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>Authenticate using a public key</title>
 </head>
 <body class="docs"><div id="layout">
  <div id="layout-content"><div id="function.ssh2-auth-pubkey-file" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">ssh2_auth_pubkey_file</h1>
  <p class="verinfo">(PECL ssh2 &gt;= 0.9.0)</p><p class="refpurpose"><span class="refname">ssh2_auth_pubkey_file</span> &mdash; <span class="dc-title">Authenticate using a public key</span></p>

 </div>
 
 <div class="refsect1 description" id="refsect1-function.ssh2-auth-pubkey-file-description">
  <h3 class="title">说明</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>ssh2_auth_pubkey_file</strong></span>
    ( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$session</code></span>
   , <span class="methodparam"><span class="type">string</span> <code class="parameter">$username</code></span>
   , <span class="methodparam"><span class="type">string</span> <code class="parameter">$pubkeyfile</code></span>
   , <span class="methodparam"><span class="type">string</span> <code class="parameter">$privkeyfile</code></span>
   [, <span class="methodparam"><span class="type">string</span> <code class="parameter">$passphrase</code></span>
  ] ) : <span class="type">bool</span></div>

  <p class="para rdfs-comment">
   Authenticate using a public key read from a file.  
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.ssh2-auth-pubkey-file-parameters">
  <h3 class="title">参数</h3>
  <p class="para">
   <dl>

    
     <dt>
<code class="parameter">session</code></dt>

     <dd>

      <p class="para">
       An SSH connection link identifier, obtained from a call to
       <span class="function"><a href="ssh2_connect.html" class="function">ssh2_connect()</a></span>.
      </p>
     </dd>

    
    
     <dt>
<code class="parameter">username</code></dt>

     <dd>

      <p class="para">
      </p>
     </dd>

    
    
     <dt>
<code class="parameter">pubkeyfile</code></dt>

     <dd>

      <p class="para">
       The public key file needs to be in OpenSSH&#039;s format. It should look something like:
      </p>
      <p class="para">
       ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110
      </p>
     </dd>

    
    
     <dt>
<code class="parameter">privkeyfile</code></dt>

     <dd>

      <p class="para">
      </p>
     </dd>

    
    
     <dt>
<code class="parameter">passphrase</code></dt>

     <dd>

      <p class="para">
       If <code class="parameter">privkeyfile</code> is encrypted (which it should
       be), the <code class="parameter">passphrase</code> must be provided.
      </p>
     </dd>

    
   </dl>

  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.ssh2-auth-pubkey-file-returnvalues">
  <h3 class="title">返回值</h3>
  <p class="para">
   成功时返回 <strong><code>TRUE</code></strong>， 或者在失败时返回 <strong><code>FALSE</code></strong>。
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.ssh2-auth-pubkey-file-examples">
  <h3 class="title">范例</h3>
  <p class="para">
   <div class="example" id="example-5614">
    <p><strong>Example #1 Authentication using a public key</strong></p>
    <div class="example-contents">
<div class="phpcode"><pre><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$connection&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ssh2_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">'shell.example.com'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">22</span><span style="color: #007700">,&nbsp;array(</span><span style="color: #DD0000">'hostkey'</span><span style="color: #007700">=&gt;</span><span style="color: #DD0000">'ssh-rsa'</span><span style="color: #007700">));<br /><br />if&nbsp;(</span><span style="color: #0000BB">ssh2_auth_pubkey_file</span><span style="color: #007700">(</span><span style="color: #0000BB">$connection</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'username'</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'/home/username/.ssh/id_rsa.pub'</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'/home/username/.ssh/id_rsa'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'secret'</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Public&nbsp;Key&nbsp;Authentication&nbsp;Successful\n"</span><span style="color: #007700">;<br />}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;die(</span><span style="color: #DD0000">'Public&nbsp;Key&nbsp;Authentication&nbsp;Failed'</span><span style="color: #007700">);<br />}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</pre></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.ssh2-auth-pubkey-file-notes">
  <h3 class="title">注释</h3>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    The underlying libssh library doesn&#039;t support partial auths very cleanly
    That is, if you need to supply both a public key and a password it will
    appear as if this function has failed. In this particular case a failure
    from this call may just mean that auth hasn&#039;t been completed yet. You
    would need to ignore this failure and continue on and call
    <span class="function"><a href="ssh2_auth_password.html" class="function">ssh2_auth_password()</a></span> in order to complete
    authentication.
   </p>
  </p></blockquote>
 </div>


</div></div></div></body></html>